package view;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JOptionPane;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;

import controlador.Tragamonedas;



import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;


public class MenuPrincipalCasino extends JFrame {

	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private static Tragamonedas sys;
	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					MenuPrincipalCasino frame = new MenuPrincipalCasino();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public MenuPrincipalCasino() {
		
		MenuPrincipalCasino.sys = Tragamonedas.getInstance();
		
		setTitle("Casino");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 450, 429);
		
		JMenuBar menuBar = new JMenuBar();
		setJMenuBar(menuBar);
		
		JMenu mnMenu = new JMenu("Menu");
		menuBar.add(mnMenu);
		
		JMenuItem mntmSalir = new JMenuItem("Salir");
		mntmSalir.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//Cerrar Programa
				int seleccion = JOptionPane.showConfirmDialog(null,
						"Desea Salir?", "Advertencia",
						JOptionPane.YES_NO_OPTION);
				if (seleccion == JOptionPane.YES_OPTION) {
					System.exit(0);
				}
			}
		});
		mnMenu.add(mntmSalir);
		
		JMenu mnTragamonedas = new JMenu("Tragamonedas");
		menuBar.add(mnTragamonedas);
		
		JMenuItem mntmSetearTragamonedas = new JMenuItem("Setear Tragamonedas");
		mntmSetearTragamonedas.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//Alta Tragamonedas
				getContentPane().removeAll();
				JPanel panel = new PanelSetearTragamonedas(sys);
				getContentPane().add(panel, BorderLayout.CENTER);
				getContentPane().validate();
				getContentPane().repaint();
			}
		});
		mnTragamonedas.add(mntmSetearTragamonedas);
		
		JMenuItem mntmAgregarCasillaA = new JMenuItem("Agregar Casilla a Ranura");
		mntmAgregarCasillaA.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				//Alta Casilla
				getContentPane().removeAll();
				JPanel panel = new PanelAgregarCasillaARanura(sys);
				getContentPane().add(panel, BorderLayout.CENTER);
				getContentPane().validate();
				getContentPane().repaint();
				
			}
		});
		
		JMenuItem mntmAltaCasilla = new JMenuItem("Alta Casilla");
		mntmAltaCasilla.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getContentPane().removeAll();
				getContentPane().add(new PanelAltaCasilla(sys));
				getContentPane().validate();
				getContentPane().repaint();
			}
		});
		mnTragamonedas.add(mntmAltaCasilla);
		mnTragamonedas.add(mntmAgregarCasillaA);
		
		JMenuItem mntmBuscarTragamonedas = new JMenuItem("Info Tragamonedas");
		mntmBuscarTragamonedas.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getContentPane().removeAll();
				getContentPane().add(new PanelBuscarTragamonedas(sys));
				getContentPane().validate();
				getContentPane().repaint();
			}
		});
		mnTragamonedas.add(mntmBuscarTragamonedas);
		
		JMenuItem mntmTransferirFondos = new JMenuItem("Transferir Fondos");
		mntmTransferirFondos.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getContentPane().removeAll();
				getContentPane().add(new PanelTransferirFondos(sys));
				getContentPane().validate();
				getContentPane().repaint();
			}
		});
		mnTragamonedas.add(mntmTransferirFondos);
		
		JMenu mnPremios = new JMenu("Premios");
		menuBar.add(mnPremios);
		
		JMenuItem mntmAltaPremio = new JMenuItem("Alta Premio");
		mntmAltaPremio.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getContentPane().removeAll();
				getContentPane().add(new PanelAltaPremio(sys));
				getContentPane().validate();
				getContentPane().repaint();
			}
		});
		mnPremios.add(mntmAltaPremio);
		
		JMenuItem mntmBajaPremio = new JMenuItem("Baja Premio");
		mntmBajaPremio.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getContentPane().removeAll();
				getContentPane().add(new PanelBajaPremio(sys));
				getContentPane().validate();
				getContentPane().repaint();
			}
		});
		mnPremios.add(mntmBajaPremio);
		
		JMenuItem mntmJugar = new JMenuItem("Jugar");
		mntmJugar.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				getContentPane().removeAll();
				getContentPane().add(new PanelJugar(sys));
				getContentPane().validate();
				getContentPane().repaint();
			}
		});
		menuBar.add(mntmJugar);
		getContentPane().setLayout(new BorderLayout(0, 0));

		
		
	}
}
